Monografias.com > Sin categoría
Descargar Imprimir Comentar Ver trabajos relacionados

Algoritmos Propuestos (página 2)




Enviado por Ralph Jim�nez



Partes: 1, 2

4.3 Dados tres números decidir cuál es
el central.

using System;

using System.Collections.Generic;

using System.Text;

namespace Ejercicio_4_3

{

public class Clase

{

public Int32 CapturaNumero(string cadena)

{// Recibe un string para solicitar la entrada y
devuelve el numero introducido.

string Strnumber;

int number = 0;

try

{

Console.Write(cadena);

Strnumber = Console.ReadLine();

number = Convert.ToInt32(Strnumber);

}

catch

{

Console.WriteLine("Numero Invalido!!!");

return CapturaNumero(cadena); // Utiliza recursividad
hasta introducir un numero valido

}

return number;

}

void ordena(int [] ar,int tam)

{// Recibe un arreglo de enteros y la organiza de menor
a mayor

int i=0,t=0,j=0;

for(j=0;j<tam;j++){

for(i=j;i<tam;i++){

if(ar[i]<ar[j]){

t=ar[j];

ar[j]=ar[i];

ar[i]=t;

}

}

}

}

public void Run()

{//Metodo que ejecuta e imprime

Int32[] numeros = new Int32[3];

numeros[0] = CapturaNumero("Introducir un numero para A:
");

numeros[1] = CapturaNumero("Introducir un numero para B:
");

numeros[2] = CapturaNumero("Introducir un numero para C:
");

ordena(numeros, 3);

Console.WriteLine("El numero central es {0}",
numeros[1]);

}

}

class Program

{

static void Main(string[] args)

{

Clase ejecuta = new Clase();

ejecuta.Run();

Console.ReadLine();

}

}

}

4.6 Determinar el precio de un
billete de ida y vuelta en ferrocarril, conociendo la distancia a
recorrer y sabiendo que si el número de días de
estancia es superior a siete y la distancia es superior a los 800
Km. el billete tiene una reducción de 30%. El precio por
kilómetro es 2,5 pesetas.

using System;

using System.Collections.Generic;

using System.Text;

namespace Ejercicio_4_6

{

public class Clase

{

public Int32 CapturaNumero(string cadena)

{

string Strnumber;

int number = 0;

try

{

Console.Write(cadena);

Strnumber = Console.ReadLine();

number = Convert.ToInt32(Strnumber);

}

catch

{

Console.WriteLine("Por favor Solo
Números!!!");

return CapturaNumero(cadena);

}

return number;

}

public void Run()

{

Int32 distancia = 0, estancia = 0;

float precio_x_Km = 2.5F, Pasaje =
0.0F,descuento=0.0F;

distancia = CapturaNumero("Introducir la distacia en
Kms: ");

estancia = CapturaNumero("Introducir dias de estancia:
");

Console.WriteLine();

Pasaje = distancia * precio_x_Km;

if (distancia > 800 && estancia > 7)
descuento = (Pasaje * .30F);

Console.WriteLine("Distacia en Kms: {0,6} KmsnEstancia
x Dias: {1,6} DiasnMonto del Pasaje: {2:###,###.00}", distancia,
estancia, Pasaje);

if (descuento != 0)

{

Pasaje = Pasaje – descuento;

Console.WriteLine("Monto Descuento :
{0:###,###.00}-nnTotal {1,6:C2} pesetas", descuento,
Pasaje);

}

}

}

class Program

{

static void Main(string[] args)

{

Clase ejecuta = new Clase();

ejecuta.Run();

Console.ReadLine();

}

}

}

4.8 Se desea realizar una estadística de los pesos de los alumnos de
un colegio de acuerdo a la siguiente tabla:

-Menos de 40 kg.

-Entre 40 y 50 kg.

-Más de 50 y menos de 60 kg.

-Más ó igual a 60 kg.

using System;

using System.Collections.Generic;

using System.Text;

namespace Ejercicio_4_8

{

public class Clase

{

void ordena(int[] ar, int tam)

{// Recibe un arreglo de enteros y la organiza de menor
a mayor

int i = 0, t = 0, j = 0;

for (j = 0; j < tam; j++)

{

for (i = j; i < tam; i++)

{

if (ar[i] < ar[j])

{

t = ar[j]; ar[j] = ar[i]; ar[i] = t;

}

}

}

}

public Int32 CapturaNumero(string cadena)

{

string Strnumber;

int number = 0;

try

{

Console.Write(cadena);

Strnumber = Console.ReadLine();

number = Convert.ToInt32(Strnumber);

}

catch

{

Console.WriteLine("Numero Invalido!!!");

return CapturaNumero(cadena);

}

return number;

}

public void Run()

{

int CuantosAlumnos = 0;

int [] Todos=new int[2000];

int
Menos_40=0,Entre40y50=0,Mas50yMenos60=0,MasIgual60=0;

CuantosAlumnos = CapturaNumero("Cantidad de Alumnos en
la Muestra
");

for (int i=0;i<CuantosAlumnos;i++){

Todos[i] = CapturaNumero("Introducir peso para alumno "
+ i.ToString()+": ");

}

ordena(Todos, CuantosAlumnos);

for(int i=0;i<CuantosAlumnos;i++){

if(Todos[i]<40)Menos_40++;

if(Todos[i]>=40 &&
Todos[i]<=50)Entre40y50++;

if(Todos[i]>50 &&
Todos[i]<60)Mas50yMenos60++;

if(Todos[i]>=60)MasIgual60++;

Console.Write(" {0}", Todos[i]);

}

Console.WriteLine("n=================================================================");

Console.WriteLine("Los alumnos < a 40 son {0:##0}
{1:##0.00}%", Menos_40, Menos_40 * 100 /
CuantosAlumnos);

Console.WriteLine("Los alumnos > ó = a 40 y
< ó = 50 son {0:##0} {1:##0.00}%", Entre40y50,
Entre40y50 * 100 / CuantosAlumnos);

Console.WriteLine("Los alumnos > a 50 y < 60 son
{0:##0} {1:##0.00}%", Mas50yMenos60, Mas50yMenos60 * 100 /
CuantosAlumnos);

Console.WriteLine("Los alumnos > ó = a 60 son
{0:##0} {1:##0.00}%", MasIgual60, MasIgual60 * 100 /
CuantosAlumnos);

Console.WriteLine("El total de alumnos fueron {0:##0}
{1:##0.00}%", CuantosAlumnos, CuantosAlumnos * 100 /
CuantosAlumnos);

}

}

class Program

{

static void Main(string[] args)

{

Clase ejecuta = new Clase();

ejecuta.Run();

Console.ReadLine();

}

}

}

4.11 El sistema de
calificación americano se suele calcular de acuerdo a lo
siguiente:

Grado Numérico

Grado en Letra

Entre 90-100

A

Entre 80-89

B

Entre 70-79

C

Entre 60-69

D

Menos de 60

F

using System;

using System.Collections.Generic;

using System.Text;

namespace Ejercicio_4_11

{

public class Clase

{

public Int32 CapturaNumero(string cadena)

{// Recibe un string para solicitar la
entrada

// y devuelve el numero introducido.

string Strnumber;

int number = 0;

try

{

Console.Write(cadena);

Strnumber = Console.ReadLine();

number = Convert.ToInt32(Strnumber);

}

catch

{

Console.WriteLine("Numero Invalido!!!");

return CapturaNumero(cadena); // Utiliza
recursividad

// hasta introducir un numero valido

}

return number;

}

char letra(int Nota)

{

if (Nota >= 90) return 'A';

if (Nota >= 80) return 'B';

if (Nota >= 70) return 'C';

if (Nota >= 60) return 'D';

return 'F';

}

public void Run()

{//Metodo que ejecuta e imprime

Int32 Nota = 0;

Char Letra = 'F';

do

{

Nota = CapturaNumero("Introduzca Nota el Estudiante
(0-100) ");

} while (Nota < 0 || Nota > 100);

Letra =letra(Nota);

Console.WriteLine("La nota es
{0}-{1}",Nota,Letra);

}

}

class Program

{

static void Main(string[] args)

{

Clase ejecuta = new Clase();

ejecuta.Run();

Console.ReadLine();

}

}

}

7.1 Determinar los valores de
I, J después de la ejecución de las instrucciones
siguientes:

var

entero : I, J

array[1…10] de entero : A

Inicio

I <= 1 I=1

J <= 2 J=2

A[I] <= J A[1]=2

A[J] <= I A[2]=1

A[J+I] <= I+J A[3]=3

I <= A[I]+A[J] I=3

A[3] <= 5 A[3] = 5

J <= A[I]-A[J] J=4

Fin

El valor de I es
3 y de J es 4.

7.4 Leer una matriz de 3
por 3 elementos y calcular la suma de sus filas y columnas,
dejando dichos resultados en dos vectores, uno
de la suma de las filas y otro de la sumas de las
columnas.

using System;

using System.Collections.Generic;

using System.Text;

namespace Ejercicio_7_4

{

public class Clase

{

public Int32 CapturaNumero(string cadena)

{// Recibe un string para solicitar la
entrada

// y devuelve el numero introducido.

string Strnumber;

int number = 0;

try

{

Console.Write(cadena);

Strnumber = Console.ReadLine();

number = Convert.ToInt32(Strnumber);

}

catch

{

Console.WriteLine("Numero Invalido!!!");

return CapturaNumero(cadena); // Utiliza
recursividad

// hasta introducir un numero valido

}

return number;

}

void grafica3x3(Int32[,] matriz)

{

Console.WriteLine("==============================");

for (int f = 0; f < 3; f++)

{

for (int c = 0; c < 3; c++)

{

Console.Write(" {0:####}", matriz[f, c]);

}

Console.WriteLine();

}

Console.WriteLine("==============================");

}

public void Run()

{//Metodo que ejecuta e imprime

Int32[,] numeros = new Int32[3,3];

Int32[] sfilas = new Int32[3];

Int32[] scolumnas = new Int32[3];

for (int f = 0; f < 3; f++)

{

for (int c = 0; c < 3; c++)

{

numeros[f, c] = CapturaNumero("Posicion " + f.ToString()
+ "/" + c.ToString()+": ");

}

}

grafica3x3(numeros);

for (int f = 0; f < 3; f++)

{

for (int c = 0; c < 3; c++)

{

sfilas[f] = sfilas[f] + numeros[f, c];

}

}

for (int c = 0; c < 3; c++)

{

for (int f = 0; f < 3; f++)

{

scolumnas[c] = scolumnas[c] + numeros[f, c];

}

}

Console.WriteLine("Suma Columnas {0} {1} {2}",
scolumnas[0],scolumnas[1],scolumnas[2]);

Console.WriteLine("Suma Filas {0} {1} {2}", sfilas[0],
sfilas[1], sfilas[2]);

}

}

class Program

{

static void Main(string[] args)

{

Clase ejecuta = new Clase();

ejecuta.Run();

Console.ReadLine();

}

}

}

7.7 Calcular la suma de los elementos de la diagonal
principal de una matriz 4×4.

using System;

using System.Collections.Generic;

using System.Text;

namespace Ejercicio_7_7

{

public class Clase

{

public Int32 CapturaNumero(string cadena)

{// Recibe un string para solicitar la
entrada

// y devuelve el numero introducido.

string Strnumber;

int number = 0;

try

{

Console.Write(cadena);

Strnumber = Console.ReadLine();

number = Convert.ToInt32(Strnumber);

}

catch

{

Console.WriteLine("Numero Invalido!!!");

return CapturaNumero(cadena); // Utiliza
recursividad

// hasta introducir un numero valido

}

return number;

}

void grafica4x4(Int32[,] matriz)

{

Console.WriteLine("==============================");

for (int f = 0; f < 4; f++)

{

for (int c = 0; c < 4; c++)

{

Console.Write(" {0:####}", matriz[f, c]);

}

Console.WriteLine();

}

Console.WriteLine("==============================");

}

public void Run()

{//Metodo que ejecuta e imprime

Int32[,] numeros = new Int32[4, 4];

Int32 suma = 0;

for (int f = 0; f < 4; f++)

{

for (int c = 0; c < 4; c++)

{

numeros[f, c]=CapturaNumero("Posicion "+f.ToString() +
"/"+c.ToString() + ": ");

}

}

grafica4x4(numeros);

for (int f = 0; f < 4; f++) suma = suma + numeros[f,
f];

Console.WriteLine("Suma Diagonal es {0}",
suma);

}

}

class Program

{

static void Main(string[] args)

{

Clase ejecuta = new Clase();

ejecuta.Run();

Console.ReadLine();

}

}

}

7.13 Se disponen de N temperaturas almacenadas en un
array. Se desea calcular su media y obtener el número de
temperaturas mayores o iguales a la media.

using System;

using System.Collections.Generic;

using System.Text;

namespace Ejercicio_7_13

{

public class Clase

{

public Int32 CapturaNumero(string cadena)

{// Recibe un string para solicitar la entrada y
devuelve el numero introducido.

string Strnumber;

int number = 0;

try

{

Console.Write(cadena);

Strnumber = Console.ReadLine();

number = Convert.ToInt32(Strnumber);

}

catch

{

Console.WriteLine("Numero Invalido!!!");

return CapturaNumero(cadena); // Utiliza
recursividad

// hasta introducir un numero valido

}

return number;

}

public void Run()

{//Metodo que ejecuta e imprime

Int32[] Temperatura =
new Int32[100];

Int32 suma = 0,Cantidad=0;

float Media=0F;

do

{

Cantidad = CapturaNumero("Cantidad de Temperaturas
");

} while (Cantidad > 100);

for (int i = 0; i < Cantidad; i++)

{

Temperatura[i] = CapturaNumero("Introducir temperatura
No." + i.ToString() + ": ");

suma = suma + Temperatura[i];

}

Media = (float)suma / Cantidad;

Console.WriteLine("La media es {0}", Media);

Console.Write("Las Temperaturas Mayores a la Media son
");

for (int i = 0; i < Cantidad; i++)

{

if (Temperatura[i] >= Media) Console.Write(" {0}",
Temperatura[i]);

}

}

}

class Program

{

static void Main(string[] args)

{

Clase ejecuta = new Clase();

ejecuta.Run();

Console.ReadLine();

}

}

}

7.15 Rellenar una matriz identidad de 4
por 4 elementos

using System;

using System.Collections.Generic;

using System.Text;

namespace Ejercicio_7_15

{

class Program

{

static void Main(string[] args)

{

//int[,] matriz =
{{1,0,0,0},{0,1,0,0},{0,0,1,0},{0,0,0,1}}; Forma FACIL

int [,] matriz = new int[4,4];

for (int i = 0; i < 4; i++)

{

for (int j = 0; j < 4; j++)

{

if (j == i) matriz[i, j] = 1;

else matriz[i, j] = 0;

}

}

Console.WriteLine("==============================");

for (int f = 0; f < 4; f++)

{

for (int c = 0; c < 4; c++)

{

Console.Write(" {0}", matriz[f, c]);

}

Console.WriteLine();

}

Console.WriteLine("==============================");

Console.Read();

}

}

}

7.21 Se dispone de las notas de cuarenta alumnos.
Cada uno de ellos puede tener una o varias notas. Escribir un
algoritmo que
permita obtener la media de cada alumno y la media de la clase a
partir de la entrada de las notas desde el
Terminal.

using System;

using System.Collections.Generic;

using System.Text;

namespace Ejercicios_7_21

{

public class Clase

{

public struct registro

{

public Int32[] notas;

public Int32 CantNotas,Suma;

public float promedio;

};

public Int32 CapturaNumero(string cadena)

{// Recibe un string para solicitar la entrada y
devuelve

// el numero introducido.

string Strnumber;

int number = 0;

try

{

Console.Write(cadena);

Strnumber = Console.ReadLine();

number = Convert.ToInt32(Strnumber);

}

catch

{

Console.WriteLine("Numero Invalido!!!");

return CapturaNumero(cadena); // Utilizo recursividad
hasta

// introducir un numero valido

}

return number;

}

public void Run(int CantidadAlumnos)

{//Metodo que ejecuta e imprime

registro[] alumno
= new registro[CantidadAlumnos];

Int32 Cantidad=0;

float promedio_total = 0;

for (int i = 0; i < CantidadAlumnos; i++)

{

Cantidad = 0;

do

{

Console.WriteLine("n——————————————————-");

Cantidad = CapturaNumero("Cantidad de notas alumno
numero " + i.ToString() + ": ");

} while (Cantidad > 4 || Cantidad == 0);

alumno[i].CantNotas = Cantidad;

alumno[i].notas = new Int32[Cantidad];

for (int j = 0; j < Cantidad; j++)

{

alumno[i].notas[j] = CapturaNumero("Introducir Nota #" +
j.ToString() + " de Alumno No." + i.ToString() + ":
");

alumno[i].Suma = alumno[i].Suma +
alumno[i].notas[j];

}

alumno[i].promedio = (float) alumno[i].Suma /
alumno[i].CantNotas;

promedio_total = promedio_total +
alumno[i].promedio;

Console.WriteLine("Su promedio es {0}",
alumno[i].promedio);

}

promedio_total = (float)promedio_total /
CantidadAlumnos;

Console.WriteLine("El promedio de todos los alumnos
{0}", promedio_total);

}

}

class Program

{

static void Main(string[] args)

{

Clase ejecuta = new Clase();

ejecuta.Run(40);

Console.ReadLine();

}

}

}

5.5 Imprimir todos los números primos entre 2
y 1000 inclusive.

using System;

using System.Collections.Generic;

using System.Text;

namespace Ejercicio_5_5

{

public class Clase

{

bool Si_Primo(Int32 numero)

{

bool Divisor = true;

Int32 n = 2;

if (numero <= 2) return false;

while (Divisor == true && n <
numero)

{

if (numero % n == 0) Divisor = false;

n++;

}

return Divisor;

}

public void Run()

{//Metodo que ejecuta e imprime

for (int i = 0; i <= 1000; i++)

{

if (Si_Primo(i) == true) Console.Write(" {0,4}",
i);

}

}

}

class Program

{

static void Main(string[] args)

{

Clase ejecuta = new Clase();

ejecuta.Run();

Console.ReadLine();

}

}

}

5.8 Leer 100 números y determinar la media de
los números positivos y la media de los números
negativos.

using System;

using System.Collections.Generic;

using System.Text;

namespace Ejercicio_5_8

{

public class Clase

{

public Int32 CapturaNumero(string cadena)

{// Recibe un string para solicitar la
entrada

// y devuelve el numero introducido.

string Strnumber;

int number = 0;

try

{

Console.Write(cadena);

Strnumber = Console.ReadLine();

number = Convert.ToInt32(Strnumber);

}

catch

{

Console.WriteLine("Numero Invalido!!!");

return CapturaNumero(cadena); // Utiliza
recursividad

// hasta introducir un numero valido

}

return number;

}

public void Run(int Cantidad)

{//Metodo que ejecuta e imprime

Int32 Numero = 0;

Int32 SumaPositivo = 0, SumaNegativo = 0;

Int32 CantidadPositivo = 0, CantidadNegativo =
0;

float MediaPositivo = 0, MediaNegativo = 0;

for (int i = 0; i < Cantidad; i++)

{

Numero = CapturaNumero("Introducir Numero " +
i.ToString() + "/100: ");

if (Numero<0) {

SumaNegativo=SumaNegativo+Numero;

CantidadNegativo++;

}else {

SumaPositivo=SumaPositivo+Numero;

CantidadPositivo++;

}

}

MediaPositivo = (float)SumaPositivo /
CantidadPositivo;

MediaNegativo = (float)SumaNegativo /
CantidadNegativo;

Console.WriteLine("La media de los positivo es {0}",
MediaPositivo);

Console.WriteLine("La media de los negativo es {0}",
MediaNegativo);

}

}

class Program

{

static void Main(string[] args)

{

Clase ejecuta = new Clase();

ejecuta.Run(100);

Console.ReadLine();

}

}

}

5.12 Calcular el enésimo término de la
seria de Fibonacci.

using System;

using System.Collections.Generic;

using System.Text;

namespace Ejercicio_5_12

{

public class Clase

{

long CapturaNumero(string cadena)

{// Recibe un string para solicitar la
entrada

// y devuelve el numero introducido.

string Strnumber;

long number = 0;

try

{

Console.Write(cadena);

Strnumber = Console.ReadLine();

number = (long)Convert.ToInt32(Strnumber);

}

catch

{

Console.WriteLine("Numero Invalido!!!");

return CapturaNumero(cadena); // Utiliza
recursividad

// hasta introducir un numero valido

}

return number;

}

long fib(long n)

{

if ((n == 1) || (n == 2)) return 1;

else return (fib(n – 1) + fib(n – 2));

}

public void Run()

{//Metodo que ejecuta e imprime

long Numero = 0;

Numero = CapturaNumero("Introduzca el No. E-Nesimo de la
Serie ");

Console.WriteLine("El E-Nesimo de la Serie es {0}",
fib(Numero));

}

}

class Program

{

static void Main(string[] args)

{

Clase ejecuta = new Clase();

ejecuta.Run();

Console.ReadLine();

}

}

}

5.16 Imprimir una tabla de multiplica 15 x
15.

using System;

using System.Collections.Generic;

using System.Text;

namespace Ejercicio_5_16

{

class Program

{

static void Main(string[] args)

{

Console.Write(" ");

for (int i = 1; i < 16; i++)

{

Console.Write("{0,4}", i);

}

Console.WriteLine();

for (int i = 1; i < 16; i++)

{

Console.Write("{0,4}*", i);

for (int j = 1; j < 16; j++)

{

Console.Write("{0,4}", i * j);

}

Console.WriteLine();

}

Console.Read();

}

}

}

 

Ralph Jiménez

Republica Dominicana

Analista Programador

30 Mayo 2007

Partes: 1, 2
 Página anterior Volver al principio del trabajoPágina siguiente 

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

Categorias
Newsletter